With the increasing use of sophisticated network services, the amount of data traffic over communication networks has been growing dramatically, accelerating the development of network routers and switches with enhanced bandwidths. To transfer large amounts of data between routers and switches, a technique called “link aggregation” (LAG) is used to bundle a plurality of physical ports in a network device into a single logical port. This trunking technique, defined by the IEEE 802.3ad standard, permits a communication apparatus to reach a peer communication apparatus by using a plurality of physical links (e.g., network cables) concurrently. When bundled, those physical links will behave virtually as a single logical link.
The link aggregation technology makes it possible to expand network bandwidth without the need for deploying high-speed physical communication channels. In addition to providing an increased bandwidth, the link aggregation enhances the fault tolerance of a communications system. That is, even if a failure occurs to one of the physical channels, the communications system can continue to operate by using the remaining channels.
As an example application of link aggregation, Japanese Laid-open Patent Publication No. 2007-180891 proposes a communication apparatus which distributes received packets, as necessary, to a plurality of output ports constituting an aggregated link. The proposed communication apparatus changes the direction of received packets to another physical port when the currently used physical port becomes congested. This communication apparatus allows, however, a single flow of packets to be directed to different physical ports in the middle of that flow. When this happens, the packets may be transmitted in a different order from that in which they were received, and as a result, the quality of communication could be degraded.
To alleviate the above-noted problem, the communication apparatus may be modified to select a physical port when the first packet of a flow is received and continue to use that physical port throughout the flow. This solution, however, does not work well for a long flow of packet. If, for example, the load of such a long data flow is concentrated on a single physical port that is selected, the selected port would gradually fall into congestion, thus causing frequent packet loss and consequent degradation of communication quality.
As another example application of such link aggregation techniques, Japanese Laid-open Patent Publication No. 2006-005437 proposes a communication apparatus which determines an output physical port for received packets by using hash values of those packets. The proposed communication apparatus also calculates flow ratios between physical ports and uses them as feedback information in determining bandwidth allocation ratios. A drawback of this communication apparatus is its inability to make effective use of link aggregation bandwidth in the case where the incoming packets have an uneven distribution of address values and thus concentrate into a particular physical port.